package pf.springBoot.springBootSSO.service;

import java.util.Calendar;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import pf.java.pfHelperNotSpring.PFDataTable;
import pf.springBoot.springBootSSO.dal.IBalanceDAL;

@Service
public class BalanceService {

    @Autowired
    protected  IBalanceDAL balanceBLL;
    
////    @Autowired
//    public BalanceService()
//    {
////        balanceBLL = IocRegistration.GetBLL<IBalanceBLL>();
//        balanceBLL=IocRegistration.getBean(IBalanceDAL.class);
//    }

//    /// <summary>
//    /// 查询用户访问次数
//    /// </summary>
//    /// <returns></returns>
//    public PFDataTable GetUserVisitCount(UserVisitLogQuery query)
//    {
//        return balanceBLL.GetUserVisitCount(query);
//    }
//    /// <summary>
//    /// 查询分公司访问次数的汇总数据
//    /// </summary>
//    /// <returns></returns>
//    public PFDataTable GetFgsVisitSummary(String funcCode,String cmonth)
//    {
//        return balanceBLL.GetFgsVisitSummary(funcCode, cmonth);
//    }
//    /// <summary>
//    /// 查询用户访问记录
//    /// </summary>
//    /// <param name="userNo"></param>
//    /// <returns></returns>
//    public PFDataTable GetUserVisitLog(UserVisitLogQuery query)
//    {
//        return balanceBLL.GetUserVisitLog(query);
//    }
//    /// <summary>
//    /// 新增用户访问记录
//    /// </summary>
//    /// <param name="model"></param>
//    /// <returns></returns>
//    public bool CreateUserVisitLog(UserVisitLogCreate model)
//    {
//        return balanceBLL.CreateUserVisitLog(model);
//    }
    /// <summary>
    /// 今日访问次数（为了因为日志记录功能是否正常）
    /// </summary>
    /// <returns></returns>
    public int GetDayVisitCount(Calendar day)
    {
        return balanceBLL.GetDayVisitCount(day);
    }
//    #region 文件管理(阿里云)
//    public bool AddFile(PFFile file)
//    {
//        return balanceBLL.AddFile(file);
//    }
//    public List<T> GetFiles<T>(params String[] aliKeys) 
//        where T :PFFile,new()
//    {
//        var dt = balanceBLL.GetFiles(aliKeys);
//        if (dt != null) { return dt.PFDataTableToList<T>(); }
//        return new List<T>();
//    }
//    public PFDataTable DeleteFiles(params String[] aliKeys)
//    {
//        return balanceBLL.DeleteFiles(aliKeys);
//    }
//    //public PFDataTable DeleteFilesById(params String[] ids)
//    //{
//    //    return balanceBLL.DeleteFilesById(ids);
//    //}
//    #endregion
//    /// <summary>
//    /// 省份下拉数据源(SFNO,SFNAME)
//    /// </summary>
//    public PFDataTable GetSF()
//    {
//        if (PFDataHelper.UseLocalData)
//        {
//            return PFDataHelper.ReadLocalPFDataTable("GetSF.json");
//        }
//        else
//        {
//            return balanceBLL.GetSF();
//        }
//    }
//
//    public List<Sf> GetSfList()
//    {
//        var result = new List<Sf>();
//        var table = balanceBLL.GetSF();
//        if (table != null && table.Rows.Count > 0)
//        {
//            for (var i = 0; i < table.Rows.Count; i++)
//            {
//                var row = table.Rows[i];
//                result.Add(new Sf { SfNo = (row["SFNO"] ?? "").ToString(), SfName = (row["SFNAME"] ?? "").ToString() });
//            }
//        }
//        return result;
//    }
//
//    /// <summary>
//    /// 查省份名
//    /// </summary>
//    public String GetSFName(String sf)
//    {
//        return balanceBLL.GetSFName(sf);
//    }
//    /// <summary>
//    /// 查省份名（后面多个省字）
//    /// </summary>
//    [Obsolete("以后不要在省份名后加'省'字")]
//    public String GetSFName2(String sf)
//    {
//        return balanceBLL.GetSFName2(sf);
//    }
//
//    /// <summary>
//    /// 城市下拉数据源(city)(存在fgs的city)
//    /// </summary>
//    public PFDataTable GetCityBySF(String sf)
//    {
//        if (PFDataHelper.UseLocalData)
//        {
//            return PFDataHelper.ReadLocalPFDataTable("GetCityBySF.json");
//        }
//        else
//        {
//            return balanceBLL.GetCityBySF(sf);
//        }
//    }
//
//    /// <summary>
//    /// 县下拉数据源(county)(从agent表分组出来)
//    /// </summary>
//    public PFDataTable GetCountyByCity(String sf, String cityname)
//    {
//        if (PFDataHelper.UseLocalData)
//        {
//            return PFDataHelper.ReadLocalPFDataTable("GetCountyByCity.json");
//        }
//        else
//        {
//            return balanceBLL.GetCountyByCity(sf, cityname);
//        }
//    }
//
//    /// <summary>
//    /// 根据省市查询分公司
//    /// </summary>
//    public PFDataTable GetFgsByArea(String sf, String cityname)
//    {
//        return balanceBLL.GetFgsByArea(sf, cityname);
//    }
//    /// <summary>
//    /// 根据省市查询分公司
//    /// </summary>
//    public List<Fgs> GetFgsListByArea(String sf, String cityname)
//    {
//        List<Fgs> list = null;
//        var result = balanceBLL.GetFgsByArea(sf,  cityname);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = new List<Fgs>();
//            foreach (DataRow r in result.Rows)
//            {
//                list.Add(new Fgs
//                {
//                    FgsNo = PFDataHelper.ObjectToString(r["fgsno"]),
//                    FgsName = PFDataHelper.ObjectToString(r["Name"]),
//                    SfNo = PFDataHelper.ObjectToString(r["Sfno"])
//                });
//            }
//            //list = result.PFDataTableToList<Fgs>();
//        }
//        return list;
//    }
//    /// <summary>
//    /// 根据省市查询专卖店
//    /// </summary>
//    public PFDataTable GetAgentByArea(String sf, String cityname, String countyname)
//    {
//        if (PFDataHelper.UseLocalData)
//        {
//            return PFDataHelper.ReadLocalPFDataTable("GetAgentByArea.json");
//        }
//        else
//        {
//            return balanceBLL.GetAgentByArea(sf, cityname, countyname);
//        }
//    }
//
    /// <summary>
    /// 根据分公司编码查询公公司(sf,sfname,fgs,fgsname)
    /// </summary>
    /// <param name="hybh"></param>
    /// <param name="typeId"></param>
    /// <param name="cmonth"></param>
    /// <returns></returns>
    public PFDataTable GetSFByFgs(String fgs)
    {
        return balanceBLL.GetSFByFgs(fgs);
    }
//
//    /// <summary>
//    /// 查询分公司及省份列表(fgs,fgsname,sf,sfname)
//    /// </summary>
//    public PFDataTable GetFgsList()
//    {
//        return balanceBLL.GetFgsList();
//    }
//
//    /// <summary>
//    /// 验证专卖店是否匹配省份
//    /// </summary>
//    /// <param name="agentno"></param>
//    /// <param name="sf"></param>
//    /// <returns></returns>
//    public bool IsAgentMatchSf(String agentno, String sf)
//    {
//        return balanceBLL.IsAgentMatchSf(agentno, sf);
//    }
//    #region 产品
//    /// <summary>
//    /// 查询产品类型[invtype],[typename]
//    /// </summary>
//    /// <param name="onlyFormal">仅正式产品</param>
//    /// <returns></returns>
//    public PFDataTable GetInvType(bool onlyFormal = true)
//    {
//        if (PFDataHelper.UseLocalData)
//        {
//            return PFDataHelper.ReadLocalPFDataTable("GetInvType.json");
//        }
//        else
//        {
//            return balanceBLL.GetInvType(onlyFormal);
//        }
//    }
//    /// <summary>
//    /// 查询产品类型
//    /// </summary>
//    /// <param name="onlyFormal">仅正式产品</param>
//    /// <returns></returns>
//    public List<InvType> GetInvTypeList(bool onlyFormal = true)
//    {
//        List<InvType> list = null;
//        var result = GetInvType(onlyFormal);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = result.PFDataTableToList<InvType>();
//        }
//        return list;
//    }
//
//
//    /// <summary>
//    /// 模糊查询产品
//    /// </summary>
//    /// <param name="invType"></param>
//    /// <param name="invNo"></param>
//    /// <param name="invName"></param>
//    /// <param name="onlyFormal">仅正式产品</param>
//    /// <returns></returns>
//    public PFDataTable GetInv(String invType, String invNo, String invName, bool onlyFormal = true)
//    {
//        if (PFDataHelper.UseLocalData)
//        {
//            return PFDataHelper.ReadLocalPFDataTable("GetInv.json");
//        }
//        else
//        {
//            return balanceBLL.GetInv(invType, invNo, invName, onlyFormal);
//        }
//    }
//    #endregion
//
//    /// <summary>
//    /// 月份下拉数据源(cmonth:2018.04,databasename)
//    /// </summary>
//    /// <returns></returns>
//    public PFDataTable GetSystemMonthTable()
//    {
//        return balanceBLL.GetSystemMonthTable();
//    }
//
//    /// <summary>
//    /// 查询系统开关表
//    /// </summary>
//    /// <returns></returns>
//    public AddMonth GetAddMonth()
//    {
//        var model = new AddMonth();
//        var result = balanceBLL.GetAddMonth();
//        if (result != null && result.Rows.Count > 0)
//        {
//            var row = result.Rows[0];
//            model.CMonth = row["cmonth"].ToString();
//            model.BeginDate = DateTime.Parse(row["begindate"].ToString());
//            model.EndDate = DateTime.Parse(row["enddate"].ToString());
//            model.P0Flag = bool.Parse(row["p0flag"].ToString());
//            model.BFFlag = bool.Parse(row["bfflag"].ToString());
//        }
//        return model;
//    }

//    /// <summary>
//    /// 查询网络图
//    /// </summary>
//    /// <param name="hybh"></param>
//    /// <param name="db"></param>
//    /// <param name="ch"></param>
//    /// <returns></returns>
//    public PFDataTable GetMeshwork(String hybh, String db, int ch)
//    {
//        //return balanceBLL.GetMeshwork(hybh, db, ch);
//        if (PFDataHelper.UseLocalData())
//        {
//            //var path = PFDataHelper.ReadLocalJson("GetMeshwork.json");
//            //var list=JsonConvert.
//            return PFDataHelper.ReadLocalPFDataTable("GetMeshwork.json");
//        }
//        else
//        {
//            return balanceBLL.GetMeshwork(hybh, db, ch);
//        }
//    }
    
//
//    /// <summary>
//    /// 查询查询业绩信息
//    /// </summary>
//    public PFDataTable GetYJInfo(String sfno, String agentno, out String ms)
//    {
//        return balanceBLL.GetYJInfo(sfno, agentno, out ms);
//    }
//    /// <summary>
//    /// 查询业绩新增
//    /// </summary>
//    public PFDataTable GetYJNewAdd(String agentno, String qtype, out String ms)
//    {
//        return balanceBLL.GetYJNewAdd(agentno, qtype, out ms);
//    }
//
//    /// <summary>
//    /// 查询业绩-级别情况
//    /// </summary>
//    public PFDataTable GetYJLevel(String agentno, out String ms)
//    {
//        return balanceBLL.GetYJLevel(agentno,  out ms);
//    }
//
//    /// <summary>
//    /// 查询产品-销量
//    /// </summary>
//    public PFDataTable GetYJSales(String hybh, String inv_no, out String ms)
//    {
//        return balanceBLL.GetYJSales(hybh, inv_no, out ms);
//    }
//
//    /// <summary>
//    /// 查询客单量(注意：当sf有值时，fgsno不起作用)
//    /// </summary>
//    public PFDataTable GetCusOrder(String sf, String fgsno, int m1 = 5000, int m2 = 10000)
//    {
//        return balanceBLL.GetCusOrder(sf, fgsno,m1,m2);
//    }
//
//    /// <summary>
//    /// 查询大单消费(注意：当sf有值时，fgsno不起作用)
//    /// </summary>
//    public PFDataTable GetSaleOver10000(String sf, String fgsno, int m1 = 5000, int m2 = 10000)
//    {
//        return balanceBLL.GetSaleOver10000(sf, fgsno, m1, m2);
//    }
//    /// <summary>
//    /// 查询省-最高级别
//    /// </summary>
//    public PFDataTable GetHighLevel(String sf, String qpos, out String ms)
//    {
//        return balanceBLL.GetHighLevel(sf, qpos,out ms);
//    }
//
//    /// <summary>
//    /// 查询省-网络图
//    /// </summary>
//    public PFDataTable GetYJProvinceNet(String sf)
//    {
//        var result = balanceBLL.GetYJProvinceNet(sf);
//        return result;
//    }
//    /// <summary>
//    /// 查询金额明细(查询省-网络图)
//    /// </summary>
//    /// <param name="hybh"></param>
//    /// <param name="agentno"></param>
//    /// <returns></returns>
//    public System.Data.PFDataTable GetYJProvinceNetJeDetail(String hybh)
//    {
//        var result = balanceBLL.GetYJProvinceNetJeDetail(hybh);
//        return result;
//    }
//    /// <summary>
//    /// 查询省-次月不活跃
//    /// </summary>
//    public PFDataTable GetOnceHigh(String sf, out String ms)
//    {
//        var result = balanceBLL.GetOnceHigh(sf, out ms);
//        return result;
//    }
//    /// <summary>
//    /// 查询产品-即将达标
//    /// </summary>
//    public PFDataTable GetReachStandard(String sf, String smon, String emon, String minpv, String maxpv)
//    {
//        var result = balanceBLL.GetReachStandard(sf, smon, emon, minpv, maxpv);
//        return result;
//    }
//    /// <summary>
//    /// 查询收入
//    /// </summary>
//    public PFDataTable GetIncome(String sf, String smon, String emon)
//    {
//        var result = balanceBLL.GetIncome(sf, smon, emon);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询省-复购数量
//    /// </summary>
//    public PFDataTable GetRepeatSales(String sf, String cmonth, String fgsno)
//    {
//        var result = balanceBLL.GetRepeatSales(sf, cmonth, fgsno );
//        return result;
//    }
//
//    /// <summary>
//    /// 查询产品-区域汇总
//    /// </summary>
//    public PFDataTable GetProductAreaSummary(String sf, String smon, String emon, String inv_no, out String ms)
//    {
//        var result = balanceBLL.GetProductAreaSummary(sf, smon, emon, inv_no, out ms);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询查个人销售业绩
//    /// </summary>
//    public PFDataTable GetHb(String hybh)
//    {
//        var result = balanceBLL.GetHb(hybh);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询个人积分超额
//    /// </summary>
//    public PFDataTable GetPersonJiFen(String jifen)
//    {
//        var result = balanceBLL.GetPersonJiFen(jifen);
//        return result;
//    }
//    /// <summary>
//    /// 查询个人积分明细
//    /// </summary>
//    public PFDataTable GetPersonJiFenItem(String hybh)
//    {
//        var result = balanceBLL.GetPersonJiFenItem(hybh);
//        return result;
//    }
//    /// <summary>
//    /// 查询积分超额集中店
//    /// </summary>
//    public PFDataTable GetShopJiFen(String sf, String fgs, int JiFen)
//    {
//        var result = balanceBLL.GetShopJiFen( sf,  fgs, JiFen);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询专卖店积分超额产品明细
//    /// </summary>
//    public PFDataTable GetShopJiFenInvItem(String cusNo, int jfpv)
//    {
//        var result = balanceBLL.GetShopJiFenInvItem(cusNo, jfpv);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询专卖店积分超额会员明细
//    /// </summary>
//    public PFDataTable GetShopJiFenHyItem(String cusNo, int jfpv)
//    {
//        var result = balanceBLL.GetShopJiFenHyItem(cusNo, jfpv);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询按分公司查询积分超额
//    /// </summary>
//    public PFDataTable GetCusOverTableByFgs(String fgsno, int pv, out int dshu, out int renshu)
//    {
//        var result = balanceBLL.GetCusOverTableByFgs(fgsno, pv,out dshu,out renshu);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询业务员上级信息
//    /// </summary>
//    public PFDataTable GetBjhy(String hybh)
//    {
//        var result = balanceBLL.GetBjhy(hybh);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询会员补分
//    /// </summary>
//    public System.Data.PFDataTable GetHybf(String hybh)
//    {
//        var result = balanceBLL.GetHybf(hybh);
//        return result;
//    }
//
//    /// <summary>
//    /// 查询销售日报表
//    /// </summary>
//    public System.Data.PFDataTable GetSalesDailyReport(String sf)
//    {
//        return balanceBLL.GetSalesDailyReport(sf);
//    }
//    /// <summary>
//    /// 查询服务中心各类产品销售比例
//    /// </summary>
//    public System.Data.PFDataTable GetProductSaleRate(String sf, String city, String date)
//    {
//        return balanceBLL.GetProductSaleRate(sf, city, date);
//    }
//
//    ///// <summary>
//    ///// 查询产品类型业务汇总表
//    ///// </summary>
//    //public List<Models.ProductBusinessSummaryDto> GetProductBusinessSummary(String sf)
//    //{
//    //    var domain = new List<Models.ProductBusinessSummary>();
//    //    var dto=new List<Models.ProductBusinessSummaryDto>();
//    //    var result = balanceBLL.GetProductBusinessSummary(sf);
//    //    if (result != null && result.Rows.Count > 0)
//    //    {
//    //        int i = 0;
//    //        //model = result.ToList<Models.ProductBusinessSummary>()[0];
//    //        for ( i = 0; i < result.Rows.Count; i++)
//    //        {
//    //            var row = result.Rows[i];
//    //            var item = new ProductBusinessSummary
//    //            {
//    //                month = row["month"].ToString(),
//    //                cmonth = row["cmonth"].ToString(),
//    //                Current01 = PFDataHelper.ObjectToDecimal(row["01(本月)"]),
//    //                Current04 = PFDataHelper.ObjectToDecimal(row["04(本月)"]),
//    //                Current02 = PFDataHelper.ObjectToDecimal(row["02(本月)"]),
//    //                Current08 = PFDataHelper.ObjectToDecimal(row["08(本月)"]),
//
//    //                Accumulative01 = PFDataHelper.ObjectToDecimal(row["01(累计)"]),
//    //                Accumulative04 = PFDataHelper.ObjectToDecimal(row["04(累计)"]),
//    //                Accumulative02 = PFDataHelper.ObjectToDecimal(row["02(累计)"]),
//    //                Accumulative08 = PFDataHelper.ObjectToDecimal(row["08(累计)"]),
//    //            };
//    //            domain.Add(item);
//    //        }
//    //        for( i=0;i< domain.Count; i += 2)
//    //        {
//    //            for(int j = 0; j < 2; j++)
//    //            {
//    //                dto.Add(new ProductBusinessSummaryDto {
//    //                    month=domain[i].month,
//    //                    cmonth = domain[i].cmonth,
//    //                    Current01 = PFDataHelper.Thousandth(domain[i].Current01),
//    //                    Current04 = PFDataHelper.Thousandth(domain[i].Current04),
//    //                    Current02 = PFDataHelper.Thousandth(domain[i].Current02),
//    //                    Current08 = PFDataHelper.Thousandth(domain[i].Current08),
//
//    //                    Accumulative01 = PFDataHelper.Thousandth(domain[i].Accumulative01),
//    //                    Accumulative04 = PFDataHelper.Thousandth(domain[i].Accumulative04),
//    //                    Accumulative02 = PFDataHelper.Thousandth(domain[i].Accumulative02),
//    //                    Accumulative08 = PFDataHelper.Thousandth(domain[i].Accumulative08),
//
//    //                    TotalCurrent = PFDataHelper.Thousandth(domain[i].TotalCurrent),
//    //                    TotalAccumulative = PFDataHelper.Thousandth(domain[i].TotalAccumulative),
//    //                });
//    //            }
//    //            //同比
//    //            dto.Add(new ProductBusinessSummaryDto
//    //            {
//    //                month = domain[i].month,
//    //                cmonth = "同比",
//    //                Current01 = PFDataHelper.GetYearOnYear(domain[i].Current01, domain[i + 1].Current01),
//    //                Current04 = PFDataHelper.GetYearOnYear(domain[i].Current04, domain[i + 1].Current04),
//    //                Current02 = PFDataHelper.GetYearOnYear(domain[i].Current02, domain[i + 1].Current02),
//    //                Current08 = PFDataHelper.GetYearOnYear(domain[i].Current08, domain[i + 1].Current08),
//
//    //                Accumulative01 = PFDataHelper.GetYearOnYear(domain[i].Accumulative01, domain[i + 1].Accumulative01),
//    //                Accumulative04 = PFDataHelper.GetYearOnYear(domain[i].Accumulative04, domain[i + 1].Accumulative04),
//    //                Accumulative02 = PFDataHelper.GetYearOnYear(domain[i].Accumulative02, domain[i + 1].Accumulative02),
//    //                Accumulative08 = PFDataHelper.GetYearOnYear(domain[i].Accumulative08, domain[i + 1].Accumulative08),
//
//    //                TotalCurrent = PFDataHelper.GetYearOnYear(domain[i].TotalCurrent, domain[i + 1].TotalCurrent),
//    //                TotalAccumulative = PFDataHelper.GetYearOnYear(domain[i].TotalAccumulative, domain[i + 1].TotalAccumulative)
//    //            });
//    //            //环比
//    //            if (i > 0)
//    //            {
//    //                dto.Add(new ProductBusinessSummaryDto
//    //                {
//    //                    month = domain[i].month,
//    //                    cmonth = "环比",
//    //                    Current01 = PFDataHelper.GetRingRatio(domain[i].Current01, domain[i - 2].Current01),
//    //                    Current04 = PFDataHelper.GetRingRatio(domain[i].Current04, domain[i - 2].Current04),
//    //                    Current02 = PFDataHelper.GetRingRatio(domain[i].Current02, domain[i - 2].Current02),
//    //                    Current08 = PFDataHelper.GetRingRatio(domain[i].Current08, domain[i - 2].Current08),
//
//    //                    Accumulative01 = PFDataHelper.GetRingRatio(domain[i].Accumulative01, domain[i - 2].Accumulative01),
//    //                    Accumulative04 = PFDataHelper.GetRingRatio(domain[i].Accumulative04, domain[i - 2].Accumulative04),
//    //                    Accumulative02 = PFDataHelper.GetRingRatio(domain[i].Accumulative02, domain[i - 2].Accumulative02),
//    //                    Accumulative08 = PFDataHelper.GetRingRatio(domain[i].Accumulative08, domain[i - 2].Accumulative08),
//
//    //                    TotalCurrent = PFDataHelper.GetRingRatio(domain[i].TotalCurrent, domain[i - 2].TotalCurrent),
//    //                    TotalAccumulative = PFDataHelper.GetRingRatio(domain[i].TotalAccumulative, domain[i - 2].TotalAccumulative)
//    //                });
//    //            }
//    //            //else
//    //            //{
//    //            //    dto.Add(new ProductBusinessSummaryDto());
//    //            //}
//    //        }
//    //    }
//    //    return dto;
//    //}
//    public List<Models.ProductBusinessSummaryDto> GetProductBusinessSummary(String sf)
//    {
//        var domain = new List<Models.ProductBusinessSummary>();
//        var dto = new List<Models.ProductBusinessSummaryDto>();
//        var result = balanceBLL.GetProductBusinessSummary(sf);
//        if (result != null && result.Rows.Count > 0)
//        {
//            int i = 0;
//            //model = result.ToList<Models.ProductBusinessSummary>()[0];
//            for (i = 0; i < result.Rows.Count; i++)
//            {
//                var row = result.Rows[i];
//                var item = new ProductBusinessSummary
//                {
//                    month = row["month"].ToString(),
//                    cmonth = row["cmonth"].ToString(),
//                    Current01 = PFDataHelper.ObjectToDecimal(row["01(本月)"]),
//                    Current04 = PFDataHelper.ObjectToDecimal(row["04(本月)"]),
//                    Current02 = PFDataHelper.ObjectToDecimal(row["02(本月)"]),
//                    Current08 = PFDataHelper.ObjectToDecimal(row["08(本月)"]),
//
//                    Accumulative01 = PFDataHelper.ObjectToDecimal(row["01(累计)"]),
//                    Accumulative04 = PFDataHelper.ObjectToDecimal(row["04(累计)"]),
//                    Accumulative02 = PFDataHelper.ObjectToDecimal(row["02(累计)"]),
//                    Accumulative08 = PFDataHelper.ObjectToDecimal(row["08(累计)"]),
//                };
//                domain.Add(item);
//            }
//            var gs = domain.GroupBy(a => a.month);
//            i = 0;
//            var j = 0;
//            ProductBusinessSummary monthOnLastYear = null;
//            foreach (var g in gs)
//            {
//                //j = 0;
//                foreach (var item in g)
//                {
//                    dto.Add(new ProductBusinessSummaryDto
//                    {
//                        month = item.month,
//                        cmonth = item.cmonth,
//                        Current01 = PFDataHelper.Thousandth(item.Current01),
//                        Current04 = PFDataHelper.Thousandth(item.Current04),
//                        Current02 = PFDataHelper.Thousandth(item.Current02),
//                        Current08 = PFDataHelper.Thousandth(item.Current08),
//
//                        Accumulative01 = PFDataHelper.Thousandth(item.Accumulative01),
//                        Accumulative04 = PFDataHelper.Thousandth(item.Accumulative04),
//                        Accumulative02 = PFDataHelper.Thousandth(item.Accumulative02),
//                        Accumulative08 = PFDataHelper.Thousandth(item.Accumulative08),
//
//                        TotalCurrent = PFDataHelper.Thousandth(item.TotalCurrent),
//                        TotalAccumulative = PFDataHelper.Thousandth(item.TotalAccumulative),
//                    });
//                    //if (j == 0)
//                    //{
//                    //    monthOnLastYear = item;//下一个g计算环比时要用到
//                    //}
//                    //j++;
//                }
//                if (g.Count() == 2)
//                {
//                    var l = g.ToList();
//                    //同比
//                    dto.Add(new ProductBusinessSummaryDto
//                    {
//                        month = l[0].month,
//                        cmonth = "同比",
//                        Current01 = PFDataHelper.GetYearOnYear(l[0].Current01, l[1].Current01),
//                        Current04 = PFDataHelper.GetYearOnYear(l[0].Current04, l[1].Current04),
//                        Current02 = PFDataHelper.GetYearOnYear(l[0].Current02, l[1].Current02),
//                        Current08 = PFDataHelper.GetYearOnYear(l[0].Current08, l[1].Current08),
//
//                        Accumulative01 = PFDataHelper.GetYearOnYear(l[0].Accumulative01, l[1].Accumulative01),
//                        Accumulative04 = PFDataHelper.GetYearOnYear(l[0].Accumulative04, l[1].Accumulative04),
//                        Accumulative02 = PFDataHelper.GetYearOnYear(l[0].Accumulative02, l[1].Accumulative02),
//                        Accumulative08 = PFDataHelper.GetYearOnYear(l[0].Accumulative08, l[1].Accumulative08),
//
//                        TotalCurrent = PFDataHelper.GetYearOnYear(l[0].TotalCurrent, l[1].TotalCurrent),
//                        TotalAccumulative = PFDataHelper.GetYearOnYear(l[0].TotalAccumulative, l[1].TotalAccumulative)
//                    });
//                    //环比
//                    if (monthOnLastYear!=null)
//                    {
//                        dto.Add(new ProductBusinessSummaryDto
//                        {
//                            month = l[0].month,
//                            cmonth = "环比",
//                            Current01 = PFDataHelper.GetRingRatio(l[0].Current01, monthOnLastYear.Current01),
//                            Current04 = PFDataHelper.GetRingRatio(l[0].Current04, monthOnLastYear.Current04),
//                            Current02 = PFDataHelper.GetRingRatio(l[0].Current02, monthOnLastYear.Current02),
//                            Current08 = PFDataHelper.GetRingRatio(l[0].Current08, monthOnLastYear.Current08),
//
//                            Accumulative01 = PFDataHelper.GetRingRatio(l[0].Accumulative01, monthOnLastYear.Accumulative01),
//                            Accumulative04 = PFDataHelper.GetRingRatio(l[0].Accumulative04, monthOnLastYear.Accumulative04),
//                            Accumulative02 = PFDataHelper.GetRingRatio(l[0].Accumulative02, monthOnLastYear.Accumulative02),
//                            Accumulative08 = PFDataHelper.GetRingRatio(l[0].Accumulative08, monthOnLastYear.Accumulative08),
//
//                            TotalCurrent = PFDataHelper.GetRingRatio(l[0].TotalCurrent, monthOnLastYear.TotalCurrent),
//                            TotalAccumulative = PFDataHelper.GetRingRatio(l[0].TotalAccumulative, monthOnLastYear.TotalAccumulative)
//                        });
//                    }
//                }
//                monthOnLastYear = g.First();
//                i++;
//            }
//          
//        }
//        return dto;
//    }
//
//    /// <summary>
//    /// 查询销售周报表
//    /// </summary>
//    public System.Data.PFDataTable GetSalesWeekReport(String sf, String smon, String emon)
//    {
//        return balanceBLL.GetSalesWeekReport(sf, smon, emon);
//    }
//
//    /// <summary>
//    /// 查询财务日报表(替换原来的销售日报表)
//    /// </summary>
//    public System.Data.PFDataTable GetFinancialDailyReport(String sf,DateTime date)
//    {
//        return balanceBLL.GetFinancialDailyReport(sf, date);
//    }
//
//    /// <summary>
//    /// 导入PlanMonth
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportPlanMonth(List<PlanMonthImport> list)
//    {
//        return balanceBLL.ImportPlanMonth(list);
//    }
//    /// <summary>
//    /// 导入PlanMonth
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportSfPlanMonth(List<SfPlanMonthImport> list)
//    {
//        return balanceBLL.ImportSfPlanMonth(list);
//    }
//    /// <summary>
//    /// 导入LbPlanMonth
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportLbPlanMonth(List<LbPlanMonthImport> list)
//    {
//        return balanceBLL.ImportLbPlanMonth(list);
//    }
//
//    /// <summary>
//    /// 导入PlanYear
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportPlanYear(List<PlanYearImport> list)
//    {
//        return balanceBLL.ImportPlanYear(list);
//    }
//    /// <summary>
//    /// 导入PlanYear
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportSfPlanYear(List<SfPlanYearImport> list)
//    {
//        return balanceBLL.ImportSfPlanYear(list);
//    }
//
//
//    /// <summary>
//    /// 查询各省各月预算PlanMonth
//    /// </summary>
//    public List<PlanMonthImport> GetPlanMonth(int year)
//    {
//        List<PlanMonthImport> list = null;
//        var result = balanceBLL.GetPlanMonth(year);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = new List<PlanMonthImport>();
//            foreach (DataRow row in result.Rows)
//            {
//                list.Add(new PlanMonthImport
//                {
//                    FgsNo=PFDataHelper.ObjectToString(row["fgsno"]),
//                    InvTypeNo= PFDataHelper.ObjectToString(row["invtype"]),
//                    CMonth = PFDataHelper.ObjectToString(row["cmonth"]),
//                    Sales = PFDataHelper.ObjectToDecimal(row["sales"]),
//                });
//            }
//        }
//        return list;
//    }
//    /// <summary>
//    /// 查询各省各月预算PlanMonth
//    /// </summary>
//    public List<SfPlanMonthImport> GetSfPlanMonth(int year)
//    {
//        List<SfPlanMonthImport> list = null;
//        var result = balanceBLL.GetSfPlanMonth(year);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = result.PFDataTableToList<SfPlanMonthImport>();
//        }
//        return list;
//    }
//    /// <summary>
//    /// 查询各省各月预算PlanYear
//    /// </summary>
//    public List<PlanYearImport> GetPlanYear(int year)
//    {
//        List<PlanYearImport> list = null;
//        var result = balanceBLL.GetPlanYear(year);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = new List<PlanYearImport>();
//            foreach (DataRow row in result.Rows)
//            {
//                list.Add(new PlanYearImport
//                {
//                    FgsNo = PFDataHelper.ObjectToString(row["fgsno"]),
//                    InvTypeNo = PFDataHelper.ObjectToString(row["invtype"]),
//                    Year = PFDataHelper.ObjectToInt(row["year"]),
//                    Sales = PFDataHelper.ObjectToDecimal(row["sales"]),
//                });
//            }
//        }
//        return list;
//    }
//    /// <summary>
//    /// 查询各省各年预算PlanYear
//    /// </summary>
//    public List<SfPlanYearImport> GetSfPlanYear(int year)
//    {
//        List<SfPlanYearImport> list = null;
//        var result = balanceBLL.GetSfPlanYear(year);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = result.PFDataTableToList<SfPlanYearImport>();
//        }
//        return list;
//    }
//    /// <summary>
//    /// 查询各利宝分类各月预算PlanMonth
//    /// </summary>
//    public List<LbPlanMonthImport> GetLbPlanMonth(int year)
//    {
//        List<LbPlanMonthImport> list = null;
//        var result = balanceBLL.GetLbPlanMonth(year);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = result.PFDataTableToList<LbPlanMonthImport>();
//        }
//        return list;
//    }
//
//    /// <summary>
//    /// 查询区域同比
//    /// </summary>
//    public System.Data.PFDataTable GetRegionYearOnYear(String sf)
//    {
//        return balanceBLL.GetRegionYearOnYear(sf);
//    }
//
//    /// <summary>
//    /// 查询单店明细
//    /// </summary>
//    public System.Data.PFDataTable GetSingleShopDetail(String sf)
//    {
//        return balanceBLL.GetSingleShopDetail(sf);
//    }
//
//    /// <summary>
//    /// 查询提升复购
//    /// </summary>
//    public System.Data.PFDataTable GetPromotionRePurchase(String sf, String cmonth)
//    {
//        return balanceBLL.GetPromotionRePurchase(sf, cmonth);
//    }
//
//    /// <summary>
//    /// 查询级别晋升
//    /// </summary>
//    public System.Data.PFDataTable GetLevelPromotion(String sf, String cmonth)
//    {
//        return balanceBLL.GetLevelPromotion(sf, cmonth);
//    }
//    /// <summary>
//    /// 我的顾客（从生活网移过来的）
//    /// </summary>
//    /// <param name="userid"></param>
//    /// <returns></returns>
//    public System.Data.PFDataTable ListFirstGeneration(String userid)
//    {
//        return balanceBLL.ListFirstGeneration(userid);
//    }
//    /// <summary>
//    /// Sales是否匹配Order表的数据,为了防止数据错误但没发现
//    /// </summary>
//    /// <param name="ms"></param>
//    /// <returns></returns>
//    public bool IsSalesMatchOrders(out String ms)
//    {
//        return balanceBLL.IsSalesMatchOrders(out ms);
//    }
//    /// <summary>
//    /// 查询各省各品类业绩
//    /// </summary>
//    public List<SalesSfInv> GetSalesSfInv(DateTime? beginTime, DateTime? endTime)
//    {
//        List<Models.SalesSfInv> list = null;
//        var dt = balanceBLL.GetSalesSfInv(beginTime, endTime);
//        if (dt != null && dt.Rows.Count > 0)
//        {
//            //list = dt.PFDataTableToList< SalesSfInv>();
//            list = new List<SalesSfInv>();
//            var fgs = GetFgsListByArea(null,null);//才44个分公司,所以不在sql里join了
//            foreach (DataRow r in dt.Rows)
//            {
//                var fgsNo = PFDataHelper.ObjectToString(r["fgsno"]);
//                var sfNo = fgs.First(a => a.FgsNo.Equals(fgsNo)).SfNo;
//                //var sfNo1 = fgs.First(a => a.FgsNo==fgsNo).SfNo;
//                list.Add(new SalesSfInv
//                {
//                    InvType=PFDataHelper.ObjectToString(r["invtype"]),
//                    FgsNo = fgsNo,
//                    SfNo = sfNo,
//                    TotalMoney = PFDataHelper.ObjectToDecimal(r["totalmoney"]),
//                });
//            }
//        }
//        return list;
//    }
//
//    /// <summary>
//    /// 查询月份业绩
//    /// </summary>
//    public List<Models.SalesDay> GetSalesDay(DateTime? beginTime, DateTime? endTime)
//    {
//        List<Models.SalesDay> list = null;
//        var result = balanceBLL.GetSalesDay(beginTime, endTime);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = result.PFDataTableToList<Models.SalesDay>();
//        }
//        return list;
//    }
//
//    /// <summary>
//    /// 查询日结订单(联通读过来的)
//    /// </summary>
//    public System.Data.PFDataTable GetDayOrders(DateTime? smon, DateTime? emon, String orderno,String hybh, DayOrderMonthType monthType)
//    {
//        return balanceBLL.GetDayOrders(smon, emon, orderno,hybh, monthType);
//    }
//    public System.Data.PFDataTable GetDayOrdersDetail(String orderno, DayOrderMonthType monthType)
//    {
//        return balanceBLL.GetDayOrdersDetail(orderno, monthType);
//    }
//    public List<String> GetDayOrdersMoneyNotEqualDetailOrderNos(DayOrderMonthType monthType)
//    {
//        var dt = balanceBLL.GetDayOrdersMoneyNotEqualDetail(monthType);
//        if (dt == null || dt.Rows.Count < 1) { return null; }
//        var result = new List<String>();
//        for(int i = 0; i < dt.Rows.Count; i++)
//        {
//            result.Add(PFDataHelper.ObjectToString(dt.Rows[i]["Orderno"]));
//        }
//        return result;
//    }
}
